<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    let arr = [[1, 2], 3, 4, 5, 6, 7, 8, 9]
    // let a = arr.push(1)//返回新数组长度,会改变原数组
    // let a = arr.pop()//返回原数组长度,会改变原数组
    // let a = arr.shift()//返回删除的值,会改变原数组
    // let a = arr.unshift(123)//返回新数组长度,会改变原数组
    // let a = arr.splice(1, 7) //返回删除的元素,会改变原数组
    // let a = arr.slice(2, 6)//返回提取的元素,第一个是起始下标,第二个参数是结束下标,提取为开始下标到结束下标前一个
    // let a = arr.concat(2, 3)//合并数组,返回新数组,不改变原数组
    // let a = arr.join('')//将数组元素用字符串的方式呈现,参数为连接方式,默认为逗号
    // let a = arr.reverse()//颠倒数组,返回原数组,会改变原数组
    // let a = arr.sort((a, b) => b - a)//将数组按照传入的函数判断排序方式,返回原数组,会改变原数组,默认为按照Unicode码排序
    // let a = arr.includes([1, 2])//这样会返回false,因为复杂类型的数据会比较存储地址,传入的这个数组和原数组中的字元素不是同一个地址,所以返回false,返回值是布尔值,不改变原数组
    let a = arr.indexOf(5)//返回值为该元素的下标,若不存在,则返回-1,不会改变原数组







    // let a = arr.reverse()



    console.log(arr)
    console.log(a);;
  </script>
</body>

</html>